The present invention concerns a system and method for the suppression of noise infiltrating a signal from a sensor. More particularly, the invention concerns an algorithm-based approach for suppressing cyclic noise.
Most modern vehicles utilize some form of microprocessor for controlling the operation of various functional components of the vehicle. For instance, automotive vehicles utilize an engine control module that carries out instructions for controlling the performance of the engine, as well as for monitoring that performance. More specifically, the control microprocessor implements a set of algorithms that receive information concerning the current state of the engine, and that use the information for determining subsequent action for each of the functional components.
For example, as shown in FIG. 1, a typical vehicle electronic control system can include an engine control module (ECM) 10 that implements a number of engine control and protection routines as described above. The ECM 10 receives signals from various sensors disposed throughout the vehicle. For example, a speed sensor 12 determines the rotational speed of the engine. In a typical installation, the speed sensor 12 constitutes a Hall-type sensor that registers the passage of teeth on a tone wheel 14. In some applications, the array of sensors can also include a torque sensor 16 that measures the torque at the engine crankshaft. An array of pressure sensors 18 and temperature sensors 20 can transmit corresponding signals from various locations in the engine, such as at the intake and exhaust manifolds.
After receiving the signals from these various sensors 12, 16, 18 and 20, the ECM 10 provides output signals to various functional components. For instance, a cruise control module 22 can receive and return signals from the ECM to maintain a particular vehicle speed. A fuel control module 24 controls the amount of air and liquid fuel introduced into the engine combustion cylinders. An injection timing module 26 can determine the timing of injection, and ultimately ignition, in a multiple cylinder engine. Finally, an array of signals and alarms 28 can alert the vehicle operator of engine operating parameters that exceed predetermined thresholds.
As with any electronic or software based system, the function of the ECM 10 relies upon the integrity of the information provided to the ECM. Thus, if data from each of the sensors is suspect, the control signal provided by the ECM 10 to each of the functional elements 22, 24, or 26, may be erroneous. For example, bad data from the speed sensor 12 may lead to vehicle speed surges when the cruise control module 22 is in operation. Discrepancies in the signals from the pressure sensors 18 or temperature sensors 20 may cause errors in airflow calculations, which will affect the signals presented to the fuel control component 22 or injection timing component 26. These types of errors can lead to poor combustion, and even engine knock. Moreover, bad data from the various sensors can severely effect the fuel economy and operating efficiency of an engine.
One external phenomenon that has a significant effect on the integrity of sensor data is noise generated by various components of the engine. The noise can include electrical noise or EMF associated with electrical components of the engine and vehicle. In addition, the periodic engine combustion event generates its own type of cyclic noise that infiltrates the signals from most sensors disposed throughout the engine and vehicle. In order to preserve the integrity of the sensor data, it is necessary to account for this extraneous noise. Preferably, the noise is removed from the sensor signals so that a noise-free signal is provided to and utilized by the ECM 10.
In one approach, the sensor signals are passed through an array of band pass filters. One detriment of these filters is that they tend to reduce the response time of the sensor signals as they are being provided to the control module. In addition, band path filters reduce the bandwidth of the signals that can be received from each sensor, which can lead to clipping and attenuation problems. In another approach, a moving average filter is utilized over each engine cycle. Again, this type of filter causes delay and can reduce the signal bandwidth.
Another prior art approach is depicted in the block diagram of FIG. 2. In this approach, the sensor signal 32 is subject to an adaptive least means square algorithm. The signal 32 is provided to a mean remover 34 that essentially eliminates any DC or non-cyclic component of the signal, leaving substantially all of the cyclic noise component of the sensor signal. In an important aspect of this prior art approach, a noise base function generator 36 generates sine and cosine functions at given frequencies. The noise function generator 36 is based on the principle that any fixed frequency signal with known magnitude and phase delay can be obtained by the linear combination of several sine and cosine functions. Thus, these prior art devices utilize essentially a noise signal generator that produces cyclic signals corresponding to the expected components of the noise infiltrating the sensor signal 32.
The sensor signal, after it has had its DC component removed by element 34, together with the noise signals from the component 36, are fed to an adaptive least means square algorithm module 38. The adaptive module can include a multiplexer to sequentially provide the various sine and cosine noise signals generated by the component 36. In addition, the adaptive module 38 performs a series of multiplications and additions to produce the least means square output signal that is ultimately subtracted from the sensor signal 32 at a summing node 44. The result of this subtraction is the conditioned signal 46 that is, in essence, a xe2x80x9cnoiselessxe2x80x9d sensor signal.
The adaptive feature of this prior art approach is that the output from the adaptive algorithm component 38 is subtracted from the sensor signal 32 after it has had its DC component removed in element 34 for input to the least mean square component 38. Thus, a summing node 40 subtracts the output of the adaptive component from the sensor signal to yield an adaptive input signal 42.
While the adaptive least means square algorithm approach of the prior art shown in FIG. 2 adequately suppresses fixed frequency noise, it suffers from certain problems. For instance, in order to obtain the moving average at the mean remover component 34, as well as the adaptive algorithm output from component 38, up to fourteen multiplications are required for each data sampling cycle, based upon an assumption that the noise signal includes six cyclic components. This intensive computational throughput makes it difficult for the adaptive LMS filter to be implemented in a real-time environment.
What is needed, therefore, is a noise suppression system and method that can adequately address cyclic noise that infiltrates sensor signals. This system and method must have only minimal computational requirements so that it can be implemented in a real-time environment.
In view of these needs, the present invention contemplates an engine control system comprising a number of condition sensor disposed throughout an internal combustion engine, each sensor operable to generate a sensor signal at predetermined sampling intervals that includes a cyclic noise component to be removed. A noise compensation filter receives the sensor signal and includes means for adaptively suppressing at least a portion of the cyclic noise component within said sensor signal to generate a corrected signal at each sampling interval.
In one embodiment, the noise compensation filter generates an error compensation signal that is subtracted from the sampled sensor signal to produce a corrected signal. A moving average of the sampled sensor signal, or sensor error signal, is obtained that corresponds to an error signal free of the non-cyclic component. An adaptive noise compensation algorithm is implemented with a minimum number of multiplications. In one feature of the invention, the compensation module relies upon a unit base vector having a length equal to the number of base functions used to represent the cyclic noise component of the sensor signal. This base vector is multiplied by an adaptive gain to produce an adaptive vector. The adaptive gain can be a function of the difference between the sensor error signal and a compensation signal output from the adaptive compensation module.
In another aspect of certain embodiments of the invention, a convergence gain module outputs a high gain or a low gain value that is applied to yield the adaptive vector to control the rate of convergence of the algorithm. The resulting adaptive vector is held in memory, a buffer or similar delay operator. In the preferred embodiment, a prior adaptive vector is combined as an inner product with the unit base vector to produce the adaptive compensation signal at the current sampling interval.
In another feature, a convergence calculation module generates a convergence signal when the noise compensation filter sufficiently convergedxe2x80x94i.e., has suppressed substantially all of said cyclic noise component of the sensor signal. This convergence signal can then be provided to an engine control module, which includes inputs for receiving the sensor signal and the corrected signal. Routines within the engine control module can perform operations on either the sensor signal or the corrected signal as a function of the convergence signal. For example, certain routines require a substantially pure signal from a particular sensor. In this case, those routines will wait until the convergence signal indicates that the adaptive algorithm has converged before using the conditioned or corrected signal.
In certain embodiments, the convergence determination is made as a function of the difference between the error compensation signal at the current sampling interval and the error compensation signal at a prior sampling interval. Likewise, the gain value applied to the adaptive noise compensation filter can be a function of this difference. In each case, an appropriate threshold value can be predetermined against which this difference is compared. In the instance of the gain value, a first gain magnitude can be applied if the difference is outside a threshold value indicative that the adaptive algorithm has not sufficiently converged. A higher gain value will accelerate this convergence. On the other hand, if the difference value falls within the threshold value, the algorithm is determined to be sufficiently converged and a lower gain value can be provided to the compensation filter.
One benefit of the present invention is that only a minimal number of time-consuming multiplications are required over each sampling interval to adaptively converge to a sufficient noise compensation signal. This benefit is accomplished by utilizing a unit base vector corresponding to the number of cyclic functions that would otherwise be used to simulate the noise signal component. The frequency, magnitude and phase aspects of these cyclic functions are simulated by the gain value applied to the base vector to yield the adaptive vector.
Another benefit of the present invention is that the gain value used by the adaptive algorithm is a function of the difference between the compensation signal and the noise signal component extracted from the sampled sensor signal. In addition, the gain value can also be increased to achieve more rapid convergence, or decreased when the adaptive algorithm has converged to a compensation signal that will remove substantially all of the noise signal component.